home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Palettes / PAStringList / PAStringListInspector.m < prev    next >
Text File  |  1995-06-12  |  1KB  |  56 lines

  1. #import "PAStringListInspector.h"
  2. #import <appkit/appkit.h>
  3. #import "PAStringList.h"
  4.  
  5. @implementation PAStringListInspector
  6.  
  7. - init
  8. {
  9.     char buf[MAXPATHLEN + 1];
  10.     id bundle;
  11.     
  12.     [super init];
  13.     
  14.     bundle = [NXBundle bundleForClass:[PAStringList class]];
  15.     [bundle getPath:buf forResource:"PAStringListInspector" ofType:"nib"];
  16.     [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
  17.     [stringText setDelegate:self];
  18.     return self;
  19. }
  20.  
  21. - textDidGetKeys:sender isEmpty:(BOOL)flag 
  22. { [self perform:@selector(ok:) with:self afterDelay:500 cancelPrevious:YES]; return self; }
  23.  
  24. - (BOOL)wantsButtons { return NO; }
  25.  
  26. - revert:sender
  27. {
  28.     int i;
  29.     NXStream *s = NXOpenMemory(NULL, 0, NX_READWRITE);
  30.     
  31.     // Add strings to text object
  32.     for(i=0; i<[object count]; i++) NXPrintf(s,"%s\n", [object stringAt:i]);
  33.     NXSeek(s, 0, NX_FROMSTART);
  34.     [stringText readText:s];
  35.     NXCloseMemory(s, NX_FREEBUFFER);
  36.         
  37.     return [super revert:sender];
  38. }
  39.  
  40. - ok:sender
  41. {
  42.     char *buffer;
  43.  
  44.     [object empty];
  45.  
  46.     // Add all of the strings from text object
  47.     buffer = malloc([stringText textLength]*(sizeof(char)+1));
  48.     [stringText getSubstring:buffer start:0 length:[stringText textLength]+ 1];
  49.     [object addDelimitedStrings:buffer delimiters:"\n"];    
  50.     free(buffer);
  51.     
  52.     return [super ok:sender];
  53. }
  54.  
  55. @end
  56.